package pres.lnk.learn.designpattern.c_singleton;

/**
 * 单例模式
 * 懒汉式二（懒加载），确保了线程安全
 * @Author lnk
 * @Date 2018/2/1
 */
public class Singleton3 {
    private static Singleton3 instance;

    /**
     * 私有化构造函数，防止被构建新的对象
     */
    private Singleton3(){

    }

    /**
     * 获取唯一实例，当用到时再加载对象
     * 但方法加了同步，每次获取对象都会同步，性能差
     * @return
     */
    public static synchronized Singleton3 getInstance(){
        if(instance == null){
            instance = new Singleton3();
        }
        return instance;
    }
}
